<?php
/**
 * Created by PhpStorm.
 * User: zzw
 * Date: 17-4-11
 * Time: 下午5:07
 */
// 融云发送系统消息
if(!function_exists('send_yrmsg'))
{
    function send_yrmsg($fromUserId,$toUserId,$content, $pushContent = '') {
        $res=-1;
        include_once LIBS_PATH.'ry/rongcloud.php';
        $RongCloud = new RongCloud(RY_APPKEY,RY_APPSECRET);
        $objectName="FRI:TxtMsg";
        // 发送系统消息方法（一个用户向一个或多个用户发送系统消息，单条消息最大 128k，会话类型为 SYSTEM。每秒钟最多发送 100 条消息，每次最多同时向 100 人发送，如：一次发送 100 人时，示为 100 条消息。）
        $result = $RongCloud->message()->PublishSystem($fromUserId, $toUserId, $objectName,$content, 'thisisapush', $pushContent, '0', '0');
        $results=json_decode($result);
        if(!empty($results)&&$results->code=='200'){
            $res=1;
        }
        return $res;
    }
}

// 融云群组--创建群组
if(!function_exists('rygroup_creat'))
{
    function rygroup_creat($userIds,$groupId,$groupName) {
        include_once LIBS_PATH.'ry/rongcloud.php';
        $RongCloud = new RongCloud(RY_APPKEY,RY_APPSECRET);
        $result = $RongCloud->group()->create($userIds, $groupId, $groupName);
        $results=json_decode($result);
        $res=-1;
        if($results->code==200){
            $res=1;
        }
        return $res;
    }
}

// 融云群组--解散群组

if(!function_exists('rygroup_dismiss'))
{
    function rygroup_dismiss($groupId,$groupName) {
        include_once LIBS_PATH.'ry/rongcloud.php';
        $RongCloud = new RongCloud(RY_APPKEY,RY_APPSECRET);
        $result = $RongCloud->group()->dismiss( $groupId, $groupName);
        $results=json_decode($result);
        $res=-1;
        if($results->code==200){
            $res=1;
        }
        return $res;
    }
}
// 融云群组--刷新群组
if(!function_exists('rygroup_refresh'))
{
    function rygroup_refresh($groupId,$groupName) {
        include_once LIBS_PATH.'ry/rongcloud.php';
        $RongCloud = new RongCloud(RY_APPKEY,RY_APPSECRET);
        $result = $RongCloud->group()->refresh($groupId, $groupName);
        $results=json_decode($result);
        $res=-1;
        if($results->code==200){
            $res=1;
        }
        return $res;

    }

}
// 融云群组--加入群组
if(!function_exists('rygroup_join'))
{
    function rygroup_join($userIds,$groupId,$groupName) {
        include_once LIBS_PATH.'ry/rongcloud.php';
        $RongCloud = new RongCloud(RY_APPKEY,RY_APPSECRET);
        $result = $RongCloud->group()->join($userIds, $groupId, $groupName);
        $results=json_decode($result);
        $res=-1;
        if($results->code==200){
            $res=1;
        }
        return $res;

    }

}
// 融云群组--退出群组
if(!function_exists('rygroup_quit'))
{
    function rygroup_quit($userIds,$groupId,$groupName) {
        include_once LIBS_PATH.'ry/rongcloud.php';
        $RongCloud = new RongCloud(RY_APPKEY,RY_APPSECRET);
        $result = $RongCloud->group()->quit($userIds, $groupId);
        $results=json_decode($result);
        $res=-1;
        if($results->code==200){
            $res=1;
        }
        return $res;

    }
}
//查看用户状态
if(!function_exists('checkOnline'))
{
    function checkOnline($uid) {
        include_once LIBS_PATH.'ry/rongcloud.php';
        $RongCloud = new RongCloud(RY_APPKEY,RY_APPSECRET);
        $result = $RongCloud->user()->checkOnline($uid);
        $results=json_decode($result);
        return $results;
    }
}
//发送单聊
if(!function_exists('send_publishPrivate'))
{

    /***
     *
     * @param $fromUserId String	发送人用户 Id。（必传）
     * @param $toUserId String	接收用户 Id，可以实现向多人发送消息，每次上限为 1000 人。（必传）
     * @param $content String	消息类型，参考融云消息类型表.消息标志；可自定义消息类型，长度不超过 32 个字符，您在自定义消息时需要注意，不要以 "RC:" 开头，以避免与融云系统内置消息的 ObjectName 重名。（必传）
     * @param string $pushContent   String	定义显示的 Push 内容，如果 objectName 为融云内置消息类型时，则发送后用户一定会收到 Push 信息。
     * 如果为自定义消息，则 pushContent 为自定义消息显示的 Push 内容，如果不传则用户不会收到 Push 通知。(可选)
     * @param string $objectName String	消息类型，参考融云消息类型表.消息标志；可自定义消息类型，长度不超过 32 个字符，
     * 您在自定义消息时需要注意，不要以 "RC:" 开头，以避免与融云系统内置消息的 ObjectName 重名。（必传）
     * @param string $pushData  String	针对 iOS 平台为 Push 通知时附加到 payload 中，Android 客户端收到推送消息时对应字段名为 pushData。(可选)
     * @param string $count   String	针对 iOS 平台，Push 时用来控制未读消息显示数，只有在 toUserId 为一个用户 Id 的时候有效。(可选)
     * @param string $verifyBlacklist   Int	是否过滤发送人黑名单列表，0 表示为不过滤、 1 表示为过滤，默认为 0 不过滤。(可选)
     * @param string $isPersisted    Int	当前版本有新的自定义消息，而老版本没有该自定义消息时，老版本客户端收到消息后是否进行存储，0 表示为不存储、 1 表示为存储，默认为 1 存储消息。(可选)
     * @param string $isCounted   Int	当前版本有新的自定义消息，而老版本没有该自定义消息时，老版本客户端收到消息后是否进行未读消息计数，0 表示为不计数、 1 表示为计数，默认为 1 计数，未读消息数增加 1。(可选)
     * @param string $isIncludeSender   Int	发送用户自已是否接收消息，0 表示为不接收，1 表示为接收，默认为 0 不接收，只有在 toUserId 为一个用户 Id 的时候有效。（可选）
     * @return int
     */
    function send_publishPrivate($fromUserId,$toUserId,$content, $pushContent = '',$pushData='',$count='',$verifyBlacklist='',$isPersisted='',$isCounted='',$isIncludeSender='') {
        $res=0;
        include LIBS_PATH.'ry/rongcloud.php';
        $RongCloud = new RongCloud(RY_APPKEY,RY_APPSECRET);
        $objectName="RC:VcMsg";
        $pushContent = $content;
        // 发送系统消息方法（一个用户向一个或多个用户发送系统消息，单条消息最大 128k，会话类型为 SYSTEM。每秒钟最多发送 100 条消息，每次最多同时向 100 人发送，如：一次发送 100 人时，示为 100 条消息。）
        //$fromUserId, $toUserId,  $objectName, $content, $pushContent = '', $pushData = '', $count = '', $verifyBlacklist, $isPersisted, $isCounted
        $result = $RongCloud->message()->publishPrivate($fromUserId, array($toUserId), $objectName,$content, $pushContent, '新信息', '', 0, 1, 1);
        $results=json_decode($result);
        logfile('rongyun Data: '.print_r($results, 1), 'api/post_data_rongyun_');
        if(!empty($results)&&$results->code=='200'){
            $res=1;
        }
        return $res;
    }
}